const app = getApp();

Page({
    data: {
        // 当前城市
        city: '西安',
        // 点击的活动
        // -1 表示不显示
        num: -1,
        classifyList:[
            {
                src: '/images/index/旅游活动.png',
                name: '旅游路线',
            },
            // {
            //     src: '/images/index/热剧打卡.png',
            //     name: '影视打卡',
            // },
            {
                src: '/images/index/吃喝玩乐.png',
                name: '吃喝玩乐',
            },
            {
                src: '/images/index/节日特色活动.png',
                name: '特色活动',
            },
            {
                src: '/images/index/保护环境.png',
                name: '环境保护',
            },
        ],

        // 从数据库获取
        // 所有的活动 中要展示的部分活动 - 这里就先选出所有的活动
        // 根据num来展示
        activityToShow: [],
        // 取出 activityToShow 中的第一个地点 - 会在地图中展示
        positionToShow: [],
    },
    onShow() {
        // app.js 会先去获取数据，但这次就已经获取了
        // 让它等1s再去获取
        // setTimeout(() => {
        //     this.getMyData()
        // }, 1000);
        this.getMyData()
        // 能不能一直去获取数据
        // 直到获取到了app.js的数据
        // while (activityToShow.length === 0) {
        // while (false) {
        //     this.getMyData()
		// 	activityToShow = app.globalData.activities
        // }
    },
    // 去掉 跳转到别的页面后 查看活动详情的显示
    // 但跳转到活动详情后，该显示需要保留
    onHide() {
        // 页面栈的逻辑有点问题
        app.setMyData(this.data.num)
        const page = getCurrentPages()
        // console.log(page);
        const route = page[0].route
        // console.log(route);
        if (route.indexOf('index') === -1) {
            // 不去活动详情页面
            this.setData({
                num: -1
            })
        }
    },
    getMyData() {
        // 所有的活动
        let activityToShow = app.globalData.activities
        // console.log('activityToShow', activityToShow);
        this.setData({
            activityToShow,
        })

        // 要在地图上展示出来的坐标
        let positionToShow = []
        activityToShow.forEach(item => {
            let _positionItem = {}
            _positionItem.position = item.positions[0].position_name
            _positionItem.longitude = item.positions[0].longitude
            _positionItem.latitude = item.positions[0].latitude
            positionToShow.push(_positionItem)
        });

        this.setData({
            positionToShow,
        })
    },
    // map 组件 传回来点击的值
    listener(e) {
        // 点击地图上的点，修改num
        // 展示该活动相关的信息
        let id = e.value
        this.setData({
            num: id
        })
        // 将点击的id修改进app的全局数据-进行通信-让活动详情页面知道是哪组数据
        app.setMyData(id)
        // 更新数据

    },
    // 更换城市 - 先固定在西安
    changeCity() {
        swan.showToast({
            title: '其他城市的活动正在筹备中',
            icon: "none",
        });
    },
    // 点击 × 关闭展示页面
    closeDes() {
        this.setData({
            num: -1
        })
        app.setMyData(-1)
    },
    // 去活动详情页面
    activityDetail() {
        swan.navigateTo({
            url: "../activities_pages/activities_detail/activities_detail"
        })
    },
});

